package com.example.javaee.controller;

import com.example.javaee.entity.User;
import com.example.javaee.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

// 声明这是一个Spring Boot的REST控制器，返回数据会自动转为JSON格式
@RestController
// 定义这个控制器的基础请求路径为/user
@RequestMapping("/user")
// 使用Lombok的@Slf4j注解，自动生成日志记录器
@Slf4j
public class UserController {

    // 自动注入UserService（用户服务）
    @Autowired
    private UserService userService;

    // 处理POST /user/register请求，实现用户注册功能
    @PostMapping("/register")
    public Map<String, Object> register(@RequestBody User user) {
        // 创建返回结果的Map对象
        Map<String, Object> result = new HashMap<>();
        try {
            // 调用userService的register方法进行用户注册
            int registerResult = userService.register(user);

            // 根据注册结果设置返回信息
            if (registerResult > 0) {
                // 注册成功
                result.put("success", true);
                result.put("message", "注册成功");
            } else {
                // 注册失败
                result.put("success", false);
                result.put("message", "注册失败");
            }
        } catch (Exception e) {
            // 捕获异常并返回错误信息
            result.put("success", false);
            result.put("message", e.getMessage());
        }
        // 返回响应结果
        return result;
    }
}
